home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / cvsweb_version.nasl < prev    next >
Text File  |  2005-03-31  |  3KB  |  105 lines

  1. #
  2. # This script was written by Noam Rathaus <noamr@securiteam.com>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6. # Changes by rd :
  7. # - script id
  8. # - french desc.
  9. # - more verbose report
  10. # - hole -> warning
  11.  
  12.  
  13.  
  14. if(description)
  15. {
  16.  script_id(10402);
  17.  script_version ("$Revision: 1.15 $");
  18.  
  19.  name["english"] = "CVSWeb detection";
  20.  name["francais"] = "Detection de CVSWeb";
  21.  script_name(english:name["english"], francais:name["francais"]);
  22.  
  23.  
  24. desc["english"] = "
  25. CVSWeb is used by hosts to share programming source 
  26. code. Some web sites are misconfigured and allow access
  27. to their sensitive source code without any password protection. 
  28. This plugin tries to detect the presence of a CVSWeb CGI and
  29. when it finds it, it tries to obtain its version.
  30.  
  31. Risk factor : Low
  32. Solution : Password protect the CGI if unauthorized access isn't wanted";
  33.  
  34.  
  35.  
  36. desc["francais"] = "
  37. CVSWeb est utilisΘ pour partager le code source de certains
  38. programmes par le web. Plusieurs sites web sont mal configurΘs
  39. et permettent α n'importe qui d'avoir accΦs α ce code source,
  40. sans demander de mot de passe.
  41. Ce plugin determines la prΘsence de cvsweb et essaye d'en obtenir
  42. la version
  43.  
  44. Facteur de risque : Faible
  45. Solution : protΘgez par mot de passe the CGI si les accΦs anonymes ne sont
  46. pas autorisΘs";
  47.  script_description(english:desc["english"], francais:desc["francais"]);
  48.  
  49.  summary["english"] = "Checks if CVSWeb is present and gets its version";
  50.  
  51.  script_summary(english:summary["english"]);
  52.  
  53.  script_category(ACT_GATHER_INFO);
  54.   
  55.  script_copyright(english:"This script is Copyright (C) 2000 SecuriTeam",
  56.         francais:"Ce script est Copyright (C) 2000 SecuriTeam");
  57.  family["english"] = "CGI abuses";
  58.  family["francais"] = "Abus de CGI";
  59.  script_family(english:family["english"],
  60.          francais:family["francais"]);
  61.  script_dependencie("find_service.nes", "http_version.nasl");
  62.  script_require_ports("Services/www", 80);
  63.  exit(0);
  64. }
  65.  
  66. #
  67. # The script code starts here
  68. #
  69.  
  70. include("http_func.inc");
  71. include("http_keepalive.inc");
  72.  
  73. port = get_http_port(default:80);
  74.  
  75. if(!get_port_state(port))exit(0);
  76.  
  77. foreach dir (cgi_dirs())
  78. {
  79.  req = string(dir, "/cvsweb.cgi/");
  80.  req = http_get(item:req, port:port);
  81.  result = http_keepalive_send_recv(port:port, data:req);
  82.  if( result == NULL ) exit(0);
  83.  if("CVSweb $Revision:" >< result)
  84.   {
  85.    result = strstr(result, string("CVSweb $Revision: "));
  86.    result = result - strstr(result, string(" $ -->\n"));
  87.    result = result - "CVSweb $Revision: ";
  88.    name = string("www/", port, "/cvsweb/version");
  89.    set_kb_item(name:name, value:result);
  90.    result = string(
  91. "\nThe 'cvsweb' cgi is installed.\n",   
  92. "cvsweb is used to browse the content of a CVS repository\n",
  93. "It can be used by an intruder to obtain the source of your\n",
  94. "programs if you keep them secret.\n\n",
  95. "The installed version of this CGI is : ",  result, "\n\n",
  96. "Solution : Restrict the access to this CGI using password protection,\n",
  97. "or disable it if you do not use it\n",
  98. "Risk factor : Low");
  99.  
  100.    security_warning(port:port, data: result);
  101.    exit(0);
  102.   } 
  103. }
  104.